|
1: |
|
primes |
→ sieve(from(s(s(0)))) |
2: |
|
from(X) |
→ cons(X,n__from(s(X))) |
3: |
|
head(cons(X,Y)) |
→ X |
4: |
|
tail(cons(X,Y)) |
→ activate(Y) |
5: |
|
if(true,X,Y) |
→ activate(X) |
6: |
|
if(false,X,Y) |
→ activate(Y) |
7: |
|
filter(s(s(X)),cons(Y,Z)) |
→ if(divides(s(s(X)),Y),n__filter(s(s(X)),activate(Z)),n__cons(Y,n__filter(X,sieve(Y)))) |
8: |
|
sieve(cons(X,Y)) |
→ cons(X,n__filter(X,sieve(activate(Y)))) |
9: |
|
from(X) |
→ n__from(X) |
10: |
|
filter(X1,X2) |
→ n__filter(X1,X2) |
11: |
|
cons(X1,X2) |
→ n__cons(X1,X2) |
12: |
|
activate(n__from(X)) |
→ from(X) |
13: |
|
activate(n__filter(X1,X2)) |
→ filter(X1,X2) |
14: |
|
activate(n__cons(X1,X2)) |
→ cons(X1,X2) |
15: |
|
activate(X) |
→ X |
|
There are 15 dependency pairs:
|
16: |
|
PRIMES |
→ SIEVE(from(s(s(0)))) |
17: |
|
PRIMES |
→ FROM(s(s(0))) |
18: |
|
FROM(X) |
→ CONS(X,n__from(s(X))) |
19: |
|
TAIL(cons(X,Y)) |
→ ACTIVATE(Y) |
20: |
|
IF(true,X,Y) |
→ ACTIVATE(X) |
21: |
|
IF(false,X,Y) |
→ ACTIVATE(Y) |
22: |
|
FILTER(s(s(X)),cons(Y,Z)) |
→ IF(divides(s(s(X)),Y),n__filter(s(s(X)),activate(Z)),n__cons(Y,n__filter(X,sieve(Y)))) |
23: |
|
FILTER(s(s(X)),cons(Y,Z)) |
→ ACTIVATE(Z) |
24: |
|
FILTER(s(s(X)),cons(Y,Z)) |
→ SIEVE(Y) |
25: |
|
SIEVE(cons(X,Y)) |
→ CONS(X,n__filter(X,sieve(activate(Y)))) |
26: |
|
SIEVE(cons(X,Y)) |
→ SIEVE(activate(Y)) |
27: |
|
SIEVE(cons(X,Y)) |
→ ACTIVATE(Y) |
28: |
|
ACTIVATE(n__from(X)) |
→ FROM(X) |
29: |
|
ACTIVATE(n__filter(X1,X2)) |
→ FILTER(X1,X2) |
30: |
|
ACTIVATE(n__cons(X1,X2)) |
→ CONS(X1,X2) |
|
The approximated dependency graph contains one SCC:
{23,24,26,27,29}.